﻿using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using BUS;
using DTO;
namespace QuanLyNhaHang
{
    public partial class QLKhachHang : Form
    {
        DataTable DSKhachHang;
        public QLKhachHang()
        {
            InitializeComponent();
        }
        private void LayDSKhachHang()
        {
            DSKhachHang = BUSKhachHang.DSKhachHang();
            dataGridView_ds.DataSource = DSKhachHang;
            dataGridView_ds.Columns[0].Visible = false;
            dataGridView_ds.Columns[1].HeaderText = "Họ và Tên";
            dataGridView_ds.Columns[1].Width = 115;
            dataGridView_ds.Columns[2].HeaderText = "Địa Chỉ";
            dataGridView_ds.Columns[2].Width = 150;
            dataGridView_ds.Columns[3].HeaderText = "Điểm số";
            
        }

        private void QLKhachHang_Load(object sender, EventArgs e)
        {
            LayDSKhachHang();
        }

        private void button_them_Click(object sender, EventArgs e)
        {
            DTOKhachHang kh = new DTOKhachHang();
            if (string.IsNullOrEmpty(textBox_tenkh.Text) == false || string.IsNullOrWhiteSpace(textBox_tenkh.Text) == false)
            {
                kh.TenKH = textBox_tenkh.Text;
            }
            else
            {
                MessageBox.Show("Tên khách hàng không được bỏ trống", "Thông Báo", MessageBoxButtons.OK, MessageBoxIcon.Warning);
                textBox_tenkh.Focus();
                return;
            }
            if (string.IsNullOrEmpty(textBox_diachi.Text) == false || string.IsNullOrWhiteSpace(textBox_diachi.Text) == false)
            {
                kh.DiaChi = textBox_diachi.Text;
            }
            else
            {
                MessageBox.Show("Địa chỉ khách hàng không được bỏ trống", "Thông Báo", MessageBoxButtons.OK, MessageBoxIcon.Warning);
                textBox_tenkh.Focus();
                return;
            }
            for (int i = 0; i < dataGridView_ds.RowCount; i++)
            {
                if (kh.TenKH == dataGridView_ds.Rows[i].Cells[1].Value.ToString().Trim() && kh.DiaChi == dataGridView_ds.Rows[i].Cells[2].Value.ToString().Trim())
                {
                    MessageBox.Show("Thông tin khách hàng này đã có, vui lòng kiểm tra lại.", "Thông Báo", MessageBoxButtons.OK, MessageBoxIcon.Warning);
                    textBox_tenkh.Focus();
                    return;
                }
            }
            if (BUSKhachHang.ThemKH(kh) == 0)
            {
                MessageBox.Show("Không thể tạo khách hàng, có lỗi hệ thống.", "Thông Báo", MessageBoxButtons.OK, MessageBoxIcon.Error);
                return;
            }
            else
            {
                MessageBox.Show("Đã tạo khách hàng.", "Thông Báo", MessageBoxButtons.OK, MessageBoxIcon.Information);
                LayDSKhachHang();
            }
        }

        private void button_thoat_Click(object sender, EventArgs e)
        {
            this.Close();
        }

        private void dataGridView_ds_CellClick(object sender, DataGridViewCellEventArgs e)
        {
            button_sua.Enabled = true;
            int index = dataGridView_ds.CurrentCell.RowIndex;
            textBox_makh.Text = dataGridView_ds.Rows[index].Cells[0].Value.ToString().Trim();
            textBox_tenkh.Text = dataGridView_ds.Rows[index].Cells[1].Value.ToString().Trim();
            textBox_diachi.Text = dataGridView_ds.Rows[index].Cells[2].Value.ToString().Trim();
            textBox_diem.Text = dataGridView_ds.Rows[index].Cells[3].Value.ToString().Trim();
        }

        private void button_xoa_Click(object sender, EventArgs e)
        {
            int index = dataGridView_ds.CurrentCell.RowIndex;
            int id = 0;
            int.TryParse(dataGridView_ds.Rows[index].Cells[0].Value.ToString().Trim(), out id);
            if (id > 0)
            {
                DialogResult confirm = MessageBox.Show("Bạn thật sự muốn xóa khách hàng này?", "Thông Báo", MessageBoxButtons.YesNo, MessageBoxIcon.Question);
                if (confirm == DialogResult.Yes)
                {
                    if (BUSKhachHang.XoaKH(id) == 0)
                    {
                        MessageBox.Show("Không thể xóa khách hàng này, Có lỗi hệ thống", "Thông Báo", MessageBoxButtons.OK, MessageBoxIcon.Error);
                        return;
                    }
                    else
                    {
                        MessageBox.Show("Đã xóa khách hàng.", "Thông Báo", MessageBoxButtons.OK, MessageBoxIcon.Information);
                        LayDSKhachHang();
                    }
                }
            }
            else
            {
                MessageBox.Show("phải chọn khách hàng muốn xóa trước khi bấm nút xóa.", "Thông Báo", MessageBoxButtons.OK, MessageBoxIcon.Warning);
                return;
            }
        }

        private void button_sua_Click(object sender, EventArgs e)
        {
            int id = dataGridView_ds.CurrentCell.RowIndex;
            string hoten = dataGridView_ds.Rows[id].Cells[1].Value.ToString().Trim();
            string diachi = dataGridView_ds.Rows[id].Cells[2].Value.ToString().Trim();
            DTOKhachHang kh = new DTOKhachHang();
            if (string.IsNullOrEmpty(textBox_tenkh.Text) == false || string.IsNullOrWhiteSpace(textBox_tenkh.Text) == false)
            {
                kh.TenKH = textBox_tenkh.Text;
            }
            else
            {
                MessageBox.Show("Tên khách hàng không được bỏ trống", "Thông Báo", MessageBoxButtons.OK, MessageBoxIcon.Warning);
                textBox_tenkh.Focus();
                return;
            }
            if (string.IsNullOrEmpty(textBox_diachi.Text) == false || string.IsNullOrWhiteSpace(textBox_diachi.Text) == false)
            {
                kh.DiaChi = textBox_diachi.Text;
            }
            else
            {
                MessageBox.Show("Địa chỉ khách hàng không được bỏ trống", "Thông Báo", MessageBoxButtons.OK, MessageBoxIcon.Warning);
                textBox_tenkh.Focus();
                return;
            }
            if (kh.TenKH != hoten || kh.DiaChi != diachi)
            {
                for (int i = 0; i < dataGridView_ds.RowCount; i++)
                {
                    if (kh.TenKH == dataGridView_ds.Rows[i].Cells[1].Value.ToString().Trim() && kh.DiaChi == dataGridView_ds.Rows[i].Cells[2].Value.ToString().Trim())
                    {
                        MessageBox.Show("Thông tin khách hàng này đã có, vui lòng kiểm tra lại.", "Thông Báo", MessageBoxButtons.OK, MessageBoxIcon.Warning);
                        textBox_tenkh.Focus();
                        return;
                    }
                }
            }
            kh.MaKH = int.Parse(textBox_makh.Text);
            if (BUSKhachHang.SuaKH(kh) == 0)
            {
                MessageBox.Show("Không thể sửa khách hàng, có lỗi hệ thống.", "Thông Báo", MessageBoxButtons.OK, MessageBoxIcon.Error);
                return;
            }
            else
            {
                MessageBox.Show("Đã sửa xong.", "Thông Báo", MessageBoxButtons.OK, MessageBoxIcon.Information);
                LayDSKhachHang();
            }
            button_sua.Enabled = false;
        }
    }
}
